In many legacy telecommunications networks, transmissions between two nodes in the network are accomplished using time-division multiplexing (TDM). TDM combines multiple data streams into one signal, thereby allowing the data streams to share the physical lines in the data path without interfering with one another. More specifically, as its name suggests, TDM divides the signal into a number of segments, each constituting a fixed length of time. Because the sending node assigns data to the segments in a rotating, repeating sequence, the receiving node may reliably separate the data streams at the other end of the transmission medium.
With the rapid development of modern packet-switched networks, however, TDM has gradually fallen out of favor as a preferred technology. For example, Voice-Over-Internet Protocol (VoIP) services have replaced many TDM-based services, given VoIP's flexibility, ease of implementation, and reduction in costs. Unfortunately, transitioning to IP-based services requires a service provider to incur significant expenses in expanding its infrastructure and replacing customer premises equipment.
Given the large initial investment, many service providers have been reluctant to make the transition from TDM-based services to corresponding services in packet-switched networks. TDM pseudowires allow service providers to gradually make the transition to packet-switched networks, eliminating the need to replace TDM-based equipment and drop support of legacy services. In particular, on the ingress end of a TDM pseudowire, a node converts the TDM signals into a plurality of packets, then sends the packets across a packet-based path, or pseudowire. Upon receipt of the packets, a node on the egress end converts the packets back into TDM signals and forwards the TDM signals towards their ultimate destination.
As with any connection, reliability of a particular TDM pseudowire is often of significant importance. In these situations, a source node responsible for sending packets over a TDM pseudowire may include redundant line cards, such that an inactive card may resume packet forwarding upon failure of an active card. Current implementations, however, fail to maintain consistency between the TDM pseudowire sequence numbers associated with packets generated in the active and inactive cards. As a result, when an inactive card resumes processing upon failure of an active card, these implementations introduce a “jump” in sequence numbers. This inconsistency in sequence numbers may result in significant consequences at the destination node, including loss of packets and, in some circumstances, a restart of the pseudowire.
Similar problems occur in the use of the Multilink Point-to-Point Protocol (MLPPP), which allows a node to aggregate multiple links such that they operate as a single, higher performance link. MLPPP allows a node to pool together the resources of multiple connections and thereby increase the available bandwidth. As with TDM pseudowires, MLPPP connections also require sequence numbers for proper operation. Again, when providing redundancy in an MLPPP system, existing solutions fail to properly synchronize sequence numbers between active and inactive cards.
For the foregoing reasons and for further reasons that will be apparent to those of skill in the art upon reading and understanding this specification, there is a need for synchronization of packet sequence numbers between active and inactive line cards in a node used to send packets over a TDM pseudowire or MLPPP bundle.